package com.itheima.health.service;

import com.itheima.health.entity.PageResult;
import com.itheima.health.entity.QueryPageBean;
import com.itheima.health.pojo.Order;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 预约Service
 */
public interface OrderService {
    /**
     * 添加预约
     *
     * @param order
     * @return
     */
    Order add(Order order);
    /**
     * 根据ID查询
     * @param id
     * @return
     */
    Order findById(Integer id);

    /**
     * 根据套餐统计预约数量
     * 返回数据格式：
     * [{"name":"套餐1","value":10}]
     * @return
     */
    List<Map<String, Object>> countBySetmeal();

    List<Map<String,String>> countForMemberSex();

    List<Map<String,String>> getMemberAgeReport();

    /**
     * 删除过期预约
     * @param currentTime
     */
    void deleteByDate(String currentTime);

    /**
     * 删除过期预约
     * @param currentTime
     */
    void deleteByDate(String currentTime);

    /**
     * 分页查询预约列表
     * @param queryPageBean
     * @param orderDate
     * @return
     */
    PageResult findByPage(QueryPageBean queryPageBean, Date orderDate);
}
